home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 1.iso / toolbox / src / exampleCode / opengl / GLUT / progs / demos / ideas / n.c < prev    next >
C/C++ Source or Header  |  1996-11-11  |  5KB  |  162 lines

  1. /*
  2.  * (c) Copyright 1993, Silicon Graphics, Inc.
  3.  * ALL RIGHTS RESERVED 
  4.  * Permission to use, copy, modify, and distribute this software for 
  5.  * any purpose and without fee is hereby granted, provided that the above
  6.  * copyright notice appear in all copies and that both the copyright notice
  7.  * and this permission notice appear in supporting documentation, and that 
  8.  * the name of Silicon Graphics, Inc. not be used in advertising
  9.  * or publicity pertaining to distribution of the software without specific,
  10.  * written prior permission. 
  11.  *
  12.  * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
  13.  * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
  14.  * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
  15.  * FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL SILICON
  16.  * GRAPHICS, INC.  BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
  17.  * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
  18.  * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
  19.  * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
  20.  * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC.  HAS BEEN
  21.  * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
  22.  * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
  23.  * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
  24.  * 
  25.  * US Government Users Restricted Rights 
  26.  * Use, duplication, or disclosure by the Government is subject to
  27.  * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
  28.  * (c)(1)(ii) of the Rights in Technical Data and Computer Software
  29.  * clause at DFARS 252.227-7013 and/or in similar or successor
  30.  * clauses in the FAR or the DOD or NASA FAR Supplement.
  31.  * Unpublished-- rights reserved under the copyright laws of the
  32.  * United States.  Contractor/manufacturer is Silicon Graphics,
  33.  * Inc., 2011 N.  Shoreline Blvd., Mountain View, CA 94039-7311.
  34.  *
  35.  * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
  36.  */
  37. #include <GL/glut.h>
  38.  
  39. float n_data[][2] = {
  40.     {1.009307, 9.444788},
  41.     {2.548087, 9.742002},
  42.     {1.737332, 9.213622},
  43.     {2.994829, 9.659443},
  44.     {1.985522, 8.751290},
  45.     {3.127198, 9.180598},
  46.     {1.935884, 7.975232},
  47.     {2.481903, 6.571723},
  48.     {1.472596, 5.019608},
  49.     {1.439504, 2.988648},
  50.     {1.025853, 2.988648},
  51.  
  52.     {2.283350, 6.059855},
  53.     {2.035160, 5.366357},
  54.     {3.292658, 7.711042},
  55.     {3.540848, 7.744066},
  56.     {4.384695, 9.031992},
  57.     {4.699069, 8.916409},
  58.     {5.609100, 9.808049},
  59.     {5.145812, 8.982456},
  60.     {6.155119, 9.791537},
  61.     {5.410548, 8.635707},
  62.     {6.337125, 9.312694},
  63.     {5.360910, 7.991744},
  64.     {6.088935, 8.090816},
  65.     {4.947259, 5.977296},
  66.     {5.261634, 4.804954},
  67.     {4.616339, 4.028896},
  68.     {5.211996, 3.962848},
  69.     {4.732162, 3.318886},
  70.     {5.559462, 3.814241},
  71.     {5.228542, 3.038184},
  72.     {5.940021, 3.814241},
  73.     {5.906929, 3.335397},
  74.     {6.684591, 4.094943},
  75.  
  76. };
  77.  
  78. void draw_n(void) {
  79.  
  80.     glBegin(GL_TRIANGLE_STRIP);
  81.     glVertex2fv(n_data[0]);
  82.     glVertex2fv(n_data[1]);
  83.     glVertex2fv(n_data[2]);
  84.     glVertex2fv(n_data[3]);
  85.     glVertex2fv(n_data[4]);
  86.     glVertex2fv(n_data[5]);
  87.     glVertex2fv(n_data[6]);
  88.     glVertex2fv(n_data[7]);
  89.     glVertex2fv(n_data[8]);
  90.     glVertex2fv(n_data[9]);
  91.     glVertex2fv(n_data[10]);
  92.     glEnd();
  93.  
  94.     glBegin(GL_TRIANGLE_STRIP);
  95.     glVertex2fv(n_data[11]);
  96.     glVertex2fv(n_data[12]);
  97.     glVertex2fv(n_data[13]);
  98.     glVertex2fv(n_data[14]);
  99.     glVertex2fv(n_data[15]);
  100.     glVertex2fv(n_data[16]);
  101.     glVertex2fv(n_data[17]);
  102.     glVertex2fv(n_data[18]);
  103.     glVertex2fv(n_data[19]);
  104.     glVertex2fv(n_data[20]);
  105.     glVertex2fv(n_data[21]);
  106.     glVertex2fv(n_data[22]);
  107.     glVertex2fv(n_data[23]);
  108.     glVertex2fv(n_data[24]);
  109.     glVertex2fv(n_data[25]);
  110.     glVertex2fv(n_data[26]);
  111.     glVertex2fv(n_data[27]);
  112.     glVertex2fv(n_data[28]);
  113.     glVertex2fv(n_data[29]);
  114.     glVertex2fv(n_data[30]);
  115.     glVertex2fv(n_data[31]);
  116.     glVertex2fv(n_data[32]);
  117.     glVertex2fv(n_data[33]);
  118.     glEnd();
  119.  
  120.     glBegin(GL_LINE_STRIP);
  121.     glVertex2fv(n_data[0]);
  122.     glVertex2fv(n_data[2]);
  123.     glVertex2fv(n_data[4]);
  124.     glVertex2fv(n_data[6]);
  125.     glVertex2fv(n_data[8]);
  126.     glVertex2fv(n_data[10]);
  127.     glVertex2fv(n_data[9]);
  128.     glVertex2fv(n_data[7]);
  129.     glVertex2fv(n_data[5]);
  130.     glVertex2fv(n_data[3]);
  131.     glVertex2fv(n_data[1]);
  132.     glEnd();
  133.  
  134.     glBegin(GL_LINE_STRIP);
  135.     glVertex2fv(n_data[12]);
  136.     glVertex2fv(n_data[14]);
  137.     glVertex2fv(n_data[16]);
  138.     glVertex2fv(n_data[18]);
  139.     glVertex2fv(n_data[20]);
  140.     glVertex2fv(n_data[22]);
  141.     glVertex2fv(n_data[24]);
  142.     glVertex2fv(n_data[26]);
  143.     glVertex2fv(n_data[28]);
  144.     glVertex2fv(n_data[30]);
  145.     glVertex2fv(n_data[32]);
  146.     glVertex2fv(n_data[33]);
  147.     glVertex2fv(n_data[31]);
  148.     glVertex2fv(n_data[29]);
  149.     glVertex2fv(n_data[27]);
  150.     glVertex2fv(n_data[25]);
  151.     glVertex2fv(n_data[23]);
  152.     glVertex2fv(n_data[21]);
  153.     glVertex2fv(n_data[19]);
  154.     glVertex2fv(n_data[17]);
  155.     glVertex2fv(n_data[15]);
  156.     glVertex2fv(n_data[13]);
  157.     glVertex2fv(n_data[11]);
  158.     glEnd();
  159.  
  160. }
  161.  
  162.